1. Field of the Invention
This invention relates to improving performance in the writing of data to streaming tapes and has particular use in the application of ANSI X3.27 labeled data tapes.
2. Background Information
Tape drives remain a significant component for storing data in large computer centers and in some small ones as well. One of the common standards that allows tapes to be transferred among various computer systems is the ANSI standard X3.27, which specifies certain format configurations and protocol in dealing with writing and reading to and from tapes. However, this standard was developed at a time when tape drives had data transfer rates that were slower, and start stop rates that were faster, and so it made sense to put synchronizing tape marks at a header, at the end of the data file an application was writing, and again at the end of a trailer that the ANSI standard requires to be written after the end of the data file.
Along with the changes in the drive technology, the technology for reading tapes considerably faster has developed. Therefore, tape marks, which were originally just large blank spaces, are now full of data useful to the tape drive, usually specific to the tape drive type.
It takes a significant amount of time to reposition (i.e., stop and start) modern streaming tape. (Current technology has reposition times of 440 milliseconds while older technology had reposition times of 90 milliseconds.) ANSI X3.27 defines tape labeling standards, which requires the writing of 3 tape marks per logical file. Writing tape marks is normally a synchronizing operation (that is, the data in the buffers is flushed to the tape along with the tape mark). Since the tape subsystem has no more data to write to the tape, tape motion is stopped and repositioning must occur.
If an application writes a large number of logical files to a streaming tape, it can take longer to write the modern tape which has a faster transfer rate than it does to write old technology tapes with a considerably slower transfer rate. For example, an older tape technology (technology 1) had a data transfer rate of 3 megabytes per second and a repositioning time of 90 milliseconds. It takes about 1.27 seconds to write one 3 megabyte file to this tape in ANSI X3.27 format. A more recent tape technology (technology 2) but still not the most recent technology had a transfer rate of 16 megabytes and a repositioning time of about 280 milliseconds. It would take this tape technology about 0.86 seconds to write a 3 megabyte file in ANSI X3.27 format. For the modern tape technology (technology 3) that has a data transfer rate of 16 megabytes per second and a repositioning time of 440 milliseconds, it takes 1.50 seconds to write the same 3 megabytes of data. As can be seen from these numbers, technology 3 will perform better than the technology 1 with a transfer rate of 3 megabytes per second once the file size is larger that about 4 megabytes. However, since the technology 2 has the same transfer rate as the technology 3 but faster repositioning times, technology 3 will never have better performance than technology 2. Because of the large capacity of the tapes for technology 3, the 0.48 seconds per file becomes significant when there are a large number of files on the tape (1000 files is about 8 minutes which is significant in the computing world).
Thus a clear need for improvement in tape writing when using the ANSI X3.27 standard can be seen. One form of this invention reduces the number of stop/start times by 66.7% for labeled tapes, which would improve the technology 3 time for the example 3 megabyte file to 0.458 seconds.
A number of things have contributed to the current performance problem using the ANSI x3.27 standard. Tape data transfer rates are faster. The tape moves at a faster rate. Tape is thinner. All of these characteristics combine to make the stop/start times of modern tape subsystems longer than for previous tape subsystems. Although the problem existed in the past, it was not as significant. Therefore, synchronizing file marks were always used even though some tape subsystems such as those supporting the SCSI protocols were capable of supporting buffered tape marks. (By buffered tape marks, we mean marks that are put into buffers instead of being written immediately to tape.)
The problem is most acute for ANSI X3.27 labeled tapes since there are 3 times as many file marks on these tapes as there are on tapes that do not use ANSI X3.27 standards.
Many systems do not support this standard and, therefore, do not have the problem we have described. But tapes without ANSI X3.27 labels have limited protection against being mounted as the wrong reel, particularly in a multi-vendor site. There are several versions of X3.27, some of which provide for high security identification codes to be written on them. Tapes without such high security versions of the labels can also provide less security because of the requirement under the X3.27 standard that the user of the tape identify itself to the operating system before the operating system will allow the tape drive to read the tape.
Some systems that do not support the ANSI X3.27 standards go even a step further and do not use write file mark commands at all but write a special end-of-file data block. This eliminates all stop/start caused by writing file marks. Again, tapes written without ANSI X3.27 labels have limited protection against being mounted as the wrong reel particularly in a multi-vendor site. In addition, tapes with an end-of-file data block can generally not be used for data exchange with other host types because the other hosts will not recognize the end-of-file data block as an end-of-file mark. So this is not a good solution where data exchange is desired.
Accordingly, we describe our inventive solution to these problems below, the drawings and the description to be taken as instructive but not limiting.